package com.example.ecommerce.entity;

import com.baomidou.mybatisplus.annotation.*;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import java.time.LocalDateTime;

@Data
@TableName("menus")
@NoArgsConstructor
@AllArgsConstructor
public class Menu {
    /**
     * 菜单ID
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 父菜单ID
     */
    private Long parentId;

    /**
     * 菜单名称
     */
    private String title;

    /**
     * 菜单图标
     */
    private String icon;

    /**
     * 路由路径
     */
    private String path;

    /**
     * 组件路径
     */
    private String component;

    /**
     * 排序
     */
    private Integer sort;

    /**
     * 是否隐藏: 0-显示 1-隐藏
     */
    private Boolean hidden;

    /**
     * 是否缓存: 0-不缓存 1-缓存
     */
    private Boolean keepAlive;

    /**
     * 状态: 0-禁用 1-启用
     */
    private Integer status;

    /**
     * 权限标识
     */
    private String permission;

    /**
     * 创建时间
     */
    @TableField("created_at")
    private LocalDateTime createdAt;

    /**
     * 更新时间
     */
    @TableField("updated_at")
    private LocalDateTime updatedAt;

    /**
     * 逻辑删除标记（0：未删除；1：已删除）
     */
    @TableLogic
    @TableField("is_deleted")
    private Integer isDeleted;
}